package com.chenhs.oop.study.线程;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

/**
 * @className: com.chenhs.oop.study.线程-> Test
 * @description: 这个类是做做什么得吖，小朋友？
 * @author: chenhs
 * @createDate: 2024-03-09 16:50
 * @version: 1.0
 */
public class Test {
    /*实现方式一 继承Thread类*/
//    public static void main(String[] args) {
////        创建第一个线程
//        My01Thread thread1 = new My01Thread();
//        thread1.setName("线程一：");
//        thread1.start();
////        创建第两个线程
//        My01Thread thread2= new My01Thread();
//        thread2.setName("线程二：");
//        thread2.start();
//    }




    /*实现方式二 实现Runnable接口*/
//    public static void main(String[] args) {
////      1创建实现类实例
////      2将实例作为参数传入 thread中。
////      3thread实例调用start方法开启线程。
//        Thread thread1 = new Thread(new My02Thread("你是佩奇"));
//        thread1.start();
//        My02Thread th2 = new My02Thread("你是猪猪侠");
//        Thread thread2 = new Thread(th2);
//        thread2.start();
//    }


    /*实现方式三 利用Callable接口和Futuer接口方式*/
    public static void main(String[] args) throws ExecutionException, InterruptedException {
//
        FutureTask<Integer> task = new FutureTask<>(new My03Thread(1, 100));
        new Thread(task).start();
        System.out.println("线程执行结果："+task.get());

    }

}
